home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Everything For A Hacker
/
19990506-[HACK].iso
/
SECURE
/
CRYPT
/
GOST.ZIP
/
EXPCHT.ASM
< prev
next >
Wrap
Assembly Source File
|
1995-02-04
|
3KB
|
78 lines
;------------------------------------------------------
; Å«ßΓα«Ñ¡¿Ñ αáßΦ¿αÑ¡¡«⌐ Γáí½¿µδ ºá¼Ñ¡ (1024 íá⌐Γ) ¿º
; Γáí½¿µδ ºá¼Ñ¡ (128 íá⌐Γ) á½ú«α¿Γ¼á âÄæÆ 28147-89.
; --------> ñ½∩ 16-í¿Γ«óδσ »α«µÑßß«α«ó 80x86 <---------
; Éáºαáí«Γá½ é¿¡«¬πα«ó Ç.₧., ú.î«ß¬óá, 1992-1995 ú.
; (c) 1992-1995, æó«í«ñ¡«Ñ ¬«»¿α«óá¡¿Ñ ¿ ¿ß»«½∞º«óá¡¿Ñ.
;------------------------------------------------------
; Åáαá¼ÑΓαδ »α¿ ó맮óÑ »ÑαÑñáεΓß∩ ó ßΓφ¬Ñ :
; æ¼ÑΘÑ¡¿Ñ ÉẼÑα Å Ç É Ç î à Æ É
;NEAR FAR
; 2 4 4 FAR-áñαÑß ¿ßσ«ñ¡«⌐ Γáí½¿µδ ºá¼Ñ¡
; 6 8 4 FAR-áñαÑß «í½áßΓ¿ ñ½∩ αáßΦ¿αÑ¡¿∩
;------------------------------------------------------
; ç¡áτÑ¡¿∩ »áαá¼ÑΓα«ó »α¿ óδσ«ñÑ ¡Ñ ¿º¼Ñ¡∩εΓß∩
;------------------------------------------------------
;
; Ä»αÑñѽѡ¿Ñ ¬«¡ßΓá¡Γ
;
.model small,C
.code $gost
ExpCht proc
public ExpCht
; óδτ¿ß½∩Ѽ ß¼ÑΘÑ¡¿Ñ »áαá¼ÑΓα«ó ó ßΓφ¬Ñ
a=2 ; ÉÑú¿ßΓα BP ó ßΓφ¬Ñ
IF (TYPE ExpCht) EQ 0FFFEh
a=a+2 ; Ñß½¿ gamma - far-»α«µÑñπαá
ENDIF
; çáñáѼ ß¼ÑΘÑ¡¿Ñ áαúπ¼Ñ¡Γ«ó ó ßΓφ¬Ñ
;
src= 2+a
tar= 6+a
;
; æ«σαá¡Ñ¡¿Ñ αÑú¿ßΓα«ó »« ß«ú½áΦÑ¡¿∩¼ Æπαí« æ
push BP
mov BP,SP
push DS
push SI
push DI
; çáúαπº¬á »áαá¼ÑΓα«ó ó αÑú¿ßΓαδ ¿ »α«τ¿Ñ ¡áßΓα«⌐¬¿
lds SI,src[BP] ; DS:SI --> ¿ßΓ«τ¡¿¬
les DI,tar[BP] ; ES:DI --> »α¿Ñ¼¡¿¬
cld
; û¿¬½ »« í½«¬á¼ αáßΦ¿αÑ¡¡«⌐ Γáí½¿µδ ºá¼Ñ¡
mov CX,4 ; CX <- τ¿ß½« í½«¬«ó í«½∞Φ«⌐ Æç
blocks: mov BX,SI ; BX<-áñαÑß ¡áτá½á ½¿¡¿¿
add BX,10h ; ßΓáαΦ¿σ íá⌐Γ«ó í½«¬á
; û¿¬½ »« ½¿¡¿∩¼ í½«¬á
push CX ; ß«σαá¡¿Γ∞ ßτÑΓτ¿¬ í½«¬«ó
mov CX,16 ; ºáúαπº¿Γ∞ ßτÑΓτ¿¬ ½¿¡¿⌐
lines: push SI ; ß«σα. π¬áº. ΓѬπΘ. í½«¬á
mov AH,[BX] ; AH <- ßΓáαΦ¿⌐ »«½πíá⌐Γ
push CX ; ß«σαá¡¿Γ∞ ßτÑΓτ¿¬ ½¿¡¿⌐
mov CL,4 ; ßñó¿ú »«½πíá⌐Γá ¡á ¼ÑßΓ«
shl AH,CL ; ßΓáαΦÑú« »«½πíá⌐Γá
; û¿¬½ »« íá⌐Γá¼ ½¿¡¿¿
mov CX,16 ; ºáúαπº¿Γ∞ ßτÑΓτ¿¬ íá⌐Γ«ó
bytes: lodsb ; ºáúαπº¿Γ∞ «τÑαÑñ¡«⌐ íá⌐Γ
or AL,AH ; ñ«íáó¿Γ∞ ßΓáαΦ¿⌐ »«½πíá⌐Γ
stosb ; ... ¿ ºá»¿ßáΓ∞ αѺπ½∞ΓáΓ
loop bytes ; µ¿¬½ »« íá⌐Γá¼ ½¿¡¡¿
; Åα«óÑα¬á µ¿¬½á »« ½¿¡¿∩¼
pop CX ; ó«ßßΓá¡«ó. ßτÑΓτ¿¬ ½¿¡¿⌐
pop SI ; ó«ßßΓ. π¬áºáΓ. ΓѬ. í½«¬á
inc BX ; »α«ñó¿¡πΓ∞ π¬áºáΓѽ∞ íá⌐Γ
loop lines ; µ¿¬½ »« ßΓα«¬á¼ Γáí½¿µδ
; Åα«óÑα¬á µ¿¬½á »« í½«¬á¼
pop CX ; ó«ßßΓá¡«ó. ßτÑΓτ¿¬ í½«¬«ó
add SI,20h ; »α«ñó¿¡πΓ∞ π¬áºáΓ. í½«¬á
loop blocks ; µ¿¬½ »« í½«¬á¼
; é«ßßΓá¡«ó½Ñ¡¿Ñ αÑú¿ßΓα«ó ¿º ßΓφ¬á
pop DI
pop SI
pop DS
pop BP
ret
ExpCht endp
end